// import { Injectable } from '@angular/core';
// import { Http, Response } from '@angular/http';
// import { Observable } from 'rxjs/Rx';
// // import { JhiDateUtils } from 'ng-jhipster';

// // import { Pole } from './pole.model';
// // import { ResponseWrapper, createRequestOption } from '../../shared';

// @Injectable()
// export class PoleService {

//     private resourceUrl = 'api/poles';

//     constructor(private http: Http, private dateUtils: JhiDateUtils) { }

//     create(pole: Pole): Observable<Pole> {
//         const copy = this.convert(pole);
//         return this.http.post(this.resourceUrl, copy).map((res: Response) => {
//             const jsonResponse = res.json();
//             this.convertItemFromServer(jsonResponse);
//             return jsonResponse;
//         });
//     }

//     update(pole: Pole): Observable<Pole> {
//         const copy = this.convert(pole);
//         return this.http.put(this.resourceUrl, copy).map((res: Response) => {
//             const jsonResponse = res.json();
//             this.convertItemFromServer(jsonResponse);
//             return jsonResponse;
//         });
//     }

//     find(id: number): Observable<Pole> {
//         return this.http.get(`${this.resourceUrl}/${id}`).map((res: Response) => {
//             const jsonResponse = res.json();
//             this.convertItemFromServer(jsonResponse);
//             return jsonResponse;
//         });
//     }

//     findClick(poleId: string): Observable<Pole> {
//         return this.http.get(`${this.resourceUrl}/?poleId=${poleId}`).map((res: Response) => {
//             const jsonResponse = res.json();
//             this.convertItemFromServer(jsonResponse);
//             return jsonResponse;
//         });
//     }

//     query(req?: any): Observable<ResponseWrapper> {
//         const options = createRequestOption(req);
//         return this.http.get(this.resourceUrl, options)
//             .map((res: Response) => this.convertResponse(res));
//     }

//     delete(id: number): Observable<Response> {
//         return this.http.delete(`${this.resourceUrl}/${id}`);
//     }

//     private convertResponse(res: Response): ResponseWrapper {
//         const jsonResponse = res.json();
//         for (let i = 0; i < jsonResponse.length; i++) {
//             this.convertItemFromServer(jsonResponse[i]);
//         }
//         return new ResponseWrapper(res.headers, jsonResponse, res.status);
//     }

//     private convertItemFromServer(entity: any) {
//         entity.productionDate = this.dateUtils
//             .convertLocalDateFromServer(entity.productionDate);
//     }

//     private convert(pole: Pole): Pole {
//         const copy: Pole = Object.assign({}, pole);
//         copy.productionDate = this.dateUtils
//             .convertLocalDateToServer(pole.productionDate);
//         return copy;
//     }
// }
